#ifndef ECATMASTERACONTIS_H
#define ECATMASTERACONTIS_H

#include "ecatmasterbase.h"

class EcatMasterAcontis : public EcatMasterBase
{
public:
    EcatMasterAcontis(int pthread_priority_in, int pthread_schedule_in);

public:
    int stop();
    int setAlias(int node, unsigned short alias);
    int sdoUpload(int node
                  ,int rObIndex
                  ,int rObSubIndex
                  ,LONG64 &rData
                  ,int &rDataLen);
    int sdoDownload(int node
                    , int wObIndex
                    , int wObSubIndex
                    , LONG64 wData
                    , int wDataLen);


protected:
    void* run(void *);
    //at state
    void masterError(){}
    void masterBootStrap(){}
    void masterInit(){}
    void masterPreOp(){}
    void masterSafeOp(){}
    void masterOp(){}

    /**
     * @brief addMsg  , 添加消息反馈
     */
    void addMsg(int messageLevel,
                std::string componentName,
                std::string messageType,
                int messageCode,
                int robotId,
                int parameter1=0 ,
                int parameter2=0 ,
                int parameter3=0 ,
                int parameter4=0 );
};

#endif // ECATMASTERACONTIS_H
